The present invention relates to bar code scanners, to label scanning and decoding systems of the type that are designed to read labels having information which may be presented in any one of a number of different codes commonly in use and, more particularly, to such a scanner system including an integrated circuit which determines the information encoded on the labels by analysis of a signal or signals indicating relative widths of the dark bars and interleaved white spaces. This system operates in a particularly rapid and efficient manner, in order to process data in real time, and provides a high degree of flexibility.
Labels bearing information in a number of different bar code formats are typically used in various applications. It is common, for example, to encode product identification information as a series of printed bars or dark areas, and interposed white spaces or light areas, on a product package or on a label affixed to a product package. Laser scanners are known in which a beam of laser light is swept in a scan pattern to find and read a bar code printed on a surface which is presented to the scanner. Bar code labels are used on a broad range of retail packages for check-out and inventory purposes. A scanner, located for example at the check-out station in a retail establishment, is used by a clerk to enter product identification data automatically into an associated computer system.
A scanner of this type includes a laser source, such as for example a gas discharge laser, which produces a low power laser beam. The beam then passes through appropriate optical lenses and is swept across the package surface by a motor-driven, rotating mirror assembly. A portion of the light reflected from the package surface returns through the optical lenses to a detector which provides an electrical binary signal in dependence upon the level of the reflected light. A signal processing system then analyzes the binary scan signal, providing data which is transmitted to the host computer.
The computer may then determine the total price of the products being purchased, as well as storing the identity of the purchased products for inventory and accounting purposes. The host computer may be located in the cash register associated with the scanner. Alternatively, a single host computer may service a number of scanners at a retail establishment.
While such an arrangement greatly enhances the efficiency of the check-out process in the retail establishment and additionally allows the accumulation of sales data which is important for proper management controls, difficulties are encountered in the scanning operation due to the nature of the products being scanned and the number of different bar codes currently in use. Packaging for various products is designed to make the products appealing to the consumer and, as a consequence, may include various graphics and text which, when scanned, produce an electrical scan signal which mimics that produced when a label having valid bar code symbols is scanned. Additionally, a number of different bar codes have come into popular use, and the scanner circuitry must be capable of recognizing and decoding labels printed in each of these codes. Further, the scanning speed of the moving laser beam is sufficiently high that the electrical binary scan signal must be analyzed rapidly to determine whether a bar code label has been scanned and, if so, the data encoded on the bar code label.
It is important that the scanner system be capable of accomplishing these tasks automatically, without intervention by the clerk, even when labels having different bar codes are affixed to products which are scanned. This presents substantial difficulties since bar codes now in common usage vary significantly in their formats. These codes include, for example, Code 3 of 9, Interleaved 2 of 5 Code, Codabar, Code 93, Code 128, the Universal Product Code (UPC), and the European Article Numbering (EAN) code.
While decoding system embodied in hardware, software, firmware, and combinations thereof have been utilized in the past, there is a need for a system for decoding a binary scan signal more quickly, more efficiently, and with greater flexibility, and a need for such a system including an integrated circuit specially designed for performing this task.